[INFO] cloning repository https://github.com/devchainxmlp08/epic
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/devchainxmlp08/epic" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevchainxmlp08%2Fepic", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevchainxmlp08%2Fepic'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 00db0a64f206fb884d618ad0fa411aaa2196d1df
[INFO] fixing devchainxmlp08/epic against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevchainxmlp08%2Fepic" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/devchainxmlp08/epic
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/devchainxmlp08/epic
[INFO] tweaked toml for git repo https://github.com/devchainxmlp08/epic written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/devchainxmlp08/epic on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/devchainxmlp08/epic already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7
[INFO] running `Command { std: "docker" "start" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating api/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating keychain/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating util/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating store/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating p2p/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating servers/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating config/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking hashbrown v0.15.3
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking nodrop v0.1.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling cc v1.2.25
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking lock_api v0.1.5
[INFO] [stderr]     Checking typemap-ors v1.0.0
[INFO] [stderr]     Checking anyhow v1.0.98
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking thread-id v4.2.2
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]    Compiling prettyplease v0.2.33
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling libloading v0.8.8
[INFO] [stderr]    Compiling parking_lot_core v0.5.0
[INFO] [stderr]     Checking static_assertions v0.2.5
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling bindgen v0.71.1
[INFO] [stderr]     Checking hamming v0.1.3
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking primal-bit v0.2.4
[INFO] [stderr]     Checking fixed-hash v0.3.2
[INFO] [stderr]     Checking uint v0.7.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling parking_lot v0.8.0
[INFO] [stderr]     Checking primal-estimate v0.2.1
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking primal-check v0.2.3
[INFO] [stderr]     Checking primal-sieve v0.2.9
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking tiny-keccak v1.5.0
[INFO] [stderr]    Compiling filetime v0.2.25
[INFO] [stderr]     Checking lock_api v0.2.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking blake2-rfc v0.2.18
[INFO] [stderr]     Checking primal v0.2.3
[INFO] [stderr]     Checking uint v0.10.0
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking primitive-types v0.13.1
[INFO] [stderr]    Compiling grin_secp256k1zkp v0.8.0 (https://github.com/EpicCash/rust-secp256k1-zkp?branch=master#e5ee7524)
[INFO] [stderr]    Compiling croaring-sys v4.3.1
[INFO] [stderr]     Checking tiny-keccak v2.0.2
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking dirs v1.0.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking allocator-api2 v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking hex-literal v1.0.0
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking md5 v0.8.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking jiff v0.2.14
[INFO] [stderr]     Checking supercow v0.1.0
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]     Checking keccak-hash v0.11.0
[INFO] [stderr]     Checking bitflags v0.9.1
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling liblmdb-sys v0.2.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking http v1.3.1
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling aws-lc-sys v0.29.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling aws-lc-rs v1.13.1
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]     Checking sysinfo v0.36.1
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling rustls v0.23.31
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]     Checking resolv-conf v0.7.4
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]     Checking croaring v2.4.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]     Checking zip v0.5.13
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking lmdb-zero v0.4.4
[INFO] [stderr]     Checking rustls-native-certs v0.8.1
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking webpki-roots v1.0.0
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling libgit2-sys v0.18.1+1.9.0
[INFO] [stderr]    Compiling winnow v0.7.10
[INFO] [stderr]    Compiling toml_write v0.1.1
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]    Compiling enum-map-derive v0.17.0
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]    Compiling easy-jsonrpc-proc-macro-mw v0.5.1
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]     Checking enum-map v2.7.3
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking webpki v0.22.4
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]    Compiling cursive-macros v0.1.0
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking toml_writer v1.0.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling derive_builder v0.5.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]    Compiling enumset_derive v0.11.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]    Compiling derive_builder_core v0.2.0
[INFO] [stderr]    Compiling pest v1.0.6
[INFO] [stderr]     Checking clap_builder v4.5.39
[INFO] [stderr]     Checking toml_parser v1.0.2
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]    Compiling pest_derive v1.0.8
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking home v0.5.11
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking term v1.0.2
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking pathdiff v0.1.0
[INFO] [stderr]     Checking enumset v1.1.6
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]    Compiling randomx v0.2.0 (https://github.com/EpicCash/randomx-rust.git?tag=v0.2.0#d8cdeff5)
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stderr]     Checking trust-dns-proto v0.23.2
[INFO] [stderr]     Checking gherkin_rust v0.4.1
[INFO] [stderr]     Checking clap v4.5.39
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking parity-codec v3.5.4
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]     Checking serde_spanned v1.0.0
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking jsonrpc-core v10.1.0
[INFO] [stderr]    Compiling toml_edit v0.22.26
[INFO] [stderr]     Checking toml_datetime v0.7.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking trust-dns-resolver v0.23.2
[INFO] [stderr]     Checking impl-codec v0.2.0
[INFO] [stderr]     Checking cursive_core v0.4.6
[INFO] [stderr]     Checking toml v0.9.5
[INFO] [stderr]     Checking primitive-types v0.3.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking globset v0.4.16
[INFO] [stderr]     Checking easy-jsonrpc-mw v0.5.4
[INFO] [stderr]     Checking log4rs v1.3.0
[INFO] [stderr]     Checking timer v0.2.0
[INFO] [stderr]     Checking clokwerk v0.4.0
[INFO] [stderr]     Checking ignore v0.4.23
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking tower-http v0.6.4
[INFO] [stderr]     Checking pancurses v0.17.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking epic_util v4.0.0 (/opt/rustwide/workdir/util)
[INFO] [stderr]     Checking keccak-hash v0.2.0
[INFO] [stderr]    Migrating util/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking progpow_cpu v0.1.0 (https://github.com/EpicCash/progpow-rust?tag=v0.2.0#7a10ab82)
[INFO] [stderr]     Checking serde_test v1.0.177
[INFO] [stderr]     Checking globwalk v0.5.0
[INFO] [stderr]     Checking progpow v0.1.0 (https://github.com/EpicCash/progpow-rust?tag=v0.2.0#7a10ab82)
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking cucumber_rust v0.5.1
[INFO] [stderr]     Checking ctrlc v3.4.7
[INFO] [stderr]        Fixed util/src/macros.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> util/src/zip.rs:78:22
[INFO] [stdout]     |
[INFO] [stdout]  78 |             if let Ok(file) = archive.by_name(x.to_str().expect("valid path")) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 io::copy(&mut BufReader::new(file), &mut BufWriter::new(outfile))
[INFO] [stdout]     |                               --------------------       -----------------------
[INFO] [stdout]     |                               |                          |
[INFO] [stdout]     |                               |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zip-0.5.13/src/read.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<'a> Drop for ZipFile<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zip-0.5.13/src/read.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<'a> Drop for ZipFile<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_keychain v4.0.0 (/opt/rustwide/workdir/keychain)
[INFO] [stderr]     Checking hyper-util v0.1.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling toml v0.8.22
[INFO] [stderr]     Checking cursive v0.21.1
[INFO] [stderr]        Fixed util/src/logger.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> util/src/zip.rs:78:22
[INFO] [stdout]     |
[INFO] [stdout]  78 |             if let Ok(file) = archive.by_name(x.to_str().expect("valid path")) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |                 io::copy(&mut BufReader::new(file), &mut BufWriter::new(outfile))
[INFO] [stdout]     |                               --------------------       -----------------------
[INFO] [stdout]     |                               |                          |
[INFO] [stdout]     |                               |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zip-0.5.13/src/read.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<'a> Drop for ZipFile<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/zip-0.5.13/src/read.rs:844:1
[INFO] [stdout]     |
[INFO] [stdout] 844 | impl<'a> Drop for ZipFile<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating keychain/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking cursive_table_view v0.15.0
[INFO] [stderr]    Compiling cargo-lock v10.1.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking reqwest v0.12.18
[INFO] [stderr]    Migrating util/tests/file.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating util/tests/zip.rs from 2021 edition to 2024
[INFO] [stderr]     Checking epic_core v4.0.0 (/opt/rustwide/workdir/core)
[INFO] [stderr]    Migrating core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling git2 v0.20.2
[INFO] [stderr]     Checking rustls-webpki v0.103.4
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling epic v4.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]        Fixed core/src/pow/siphash.rs (2 fixes)
[INFO] [stderr]        Fixed core/src/pow/common.rs (4 fixes)
[INFO] [stderr]        Fixed core/src/pow/md5.rs (1 fix)
[INFO] [stderr]        Fixed core/src/pow/randomx.rs (1 fix)
[INFO] [stderr]        Fixed core/src/macros.rs (11 fixes)
[INFO] [stderr]        Fixed core/src/pow/types.rs (7 fixes)
[INFO] [stderr]        Fixed core/src/pow.rs (5 fixes)
[INFO] [stderr]        Fixed core/src/pow/progpow.rs (1 fix)
[INFO] [stderr]        Fixed core/src/pow/cuckatoo.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> core/src/libtx/secp_ser.rs:35:36
[INFO] [stdout]     |
[INFO] [stdout]  33 |         let static_secp = static_secp_instance();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `static_secp` calls a custom destructor
[INFO] [stdout]     |             `static_secp` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |         let static_secp = static_secp.lock();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |         serializer.serialize_str(&to_hex(key.serialize_vec(&static_secp, true).to_vec()))
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  36 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.6/src/arrayvec.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `static_secp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl Drop for Secp256k1 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/mutex.rs:424:1
[INFO] [stdout]     |
[INFO] [stdout] 424 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> core/src/libtx/secp_ser.rs:35:36
[INFO] [stdout]     |
[INFO] [stdout]  33 |         let static_secp = static_secp_instance();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `static_secp` calls a custom destructor
[INFO] [stdout]     |             `static_secp` will be dropped later as of Edition 2024
[INFO] [stdout]  34 |         let static_secp = static_secp.lock();
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |         serializer.serialize_str(&to_hex(key.serialize_vec(&static_secp, true).to_vec()))
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  36 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/arrayvec-0.7.6/src/arrayvec.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl<T, const CAP: usize> Drop for ArrayVec<T, CAP> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `static_secp` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl Drop for Secp256k1 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/mutex.rs:424:1
[INFO] [stdout]     |
[INFO] [stdout] 424 | impl<'a, R: RawMutex + 'a, T: ?Sized + 'a> Drop for MutexGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_store v4.0.0 (/opt/rustwide/workdir/store)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating core/tests/consensus.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating core/tests/merkle_proof.rs from 2021 edition to 2024
[INFO] [stderr] warning: epic@4.0.0: build.rs started
[INFO] [stderr] warning: epic@4.0.0: Tor download skipped (feature 'with-tor' not enabled).
[INFO] [stderr] warning: epic@4.0.0: Enable Tor download with: --features with-tor
[INFO] [stderr]    Migrating core/tests/block.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> core/tests/block.rs:501:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |     let keychain = keychain::ExtKeychain::from_random_seed(false).unwrap();
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `keychain` calls a custom destructor
[INFO] [stdout]     |         `keychain` will be dropped later as of Edition 2024
[INFO] [stdout] 464 |     let builder = ProofBuilder::new(&keychain);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `builder` calls a custom destructor
[INFO] [stdout]     |         `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 469 |     let tx = build::transaction(
[INFO] [stdout]     |         --
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `tx` calls a custom destructor
[INFO] [stdout]     |         `tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 485 |     let prev = BlockHeader::default();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `prev` calls a custom destructor
[INFO] [stdout]     |         `prev` will be dropped later as of Edition 2024
[INFO] [stdout] 486 |     let b = new_block(
[INFO] [stdout]     |         -
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `b` calls a custom destructor
[INFO] [stdout]     |         `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 |     match b.validate(&BlindingFactor::zero()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/key.rs:31:10
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl Drop for Secp256k1 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> core/src/libtx/proof.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / impl<'a, K> Drop for ProofBuilder<'a, K>
[INFO] [stdout] 247 | | where
[INFO] [stdout] 248 | |     K: Keychain,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> core/tests/block.rs:559:20
[INFO] [stdout]     |
[INFO] [stdout] 510 |     let keychain = keychain::ExtKeychain::from_random_seed(false).unwrap();
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `keychain` calls a custom destructor
[INFO] [stdout]     |         `keychain` will be dropped later as of Edition 2024
[INFO] [stdout] 511 |     let builder = ProofBuilder::new(&keychain);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `builder` calls a custom destructor
[INFO] [stdout]     |         `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 516 |     let tx1 = build::transaction(
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `tx1` calls a custom destructor
[INFO] [stdout]     |         `tx1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 527 |     let tx2 = build::transaction(
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `tx2` calls a custom destructor
[INFO] [stdout]     |         `tx2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 543 |     let prev = BlockHeader::default();
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `prev` calls a custom destructor
[INFO] [stdout]     |         `prev` will be dropped later as of Edition 2024
[INFO] [stdout] 544 |     let b = new_block(
[INFO] [stdout]     |         -
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `b` calls a custom destructor
[INFO] [stdout]     |         `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 559 |     match b.validate(&BlindingFactor::zero()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 563 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/key.rs:31:10
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl Drop for Secp256k1 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> core/src/libtx/proof.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / impl<'a, K> Drop for ProofBuilder<'a, K>
[INFO] [stdout] 247 | | where
[INFO] [stdout] 248 | |     K: Keychain,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `tx1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `tx2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating core/tests/pmmr.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating core/tests/core.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating core/tests/common.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> core/tests/core.rs:535:20
[INFO] [stdout]     |
[INFO] [stdout] 481 |     let keychain = keychain::ExtKeychain::from_random_seed(false).unwrap();
[INFO] [stdout]     |         --------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `keychain` calls a custom destructor
[INFO] [stdout]     |         `keychain` will be dropped later as of Edition 2024
[INFO] [stdout] 482 |     let builder = ProofBuilder::new(&keychain);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `builder` calls a custom destructor
[INFO] [stdout]     |         `builder` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 489 |     let tx1 = build::transaction(
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `tx1` calls a custom destructor
[INFO] [stdout]     |         `tx1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 500 |     let previous_header = BlockHeader::default();
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `previous_header` calls a custom destructor
[INFO] [stdout]     |         `previous_header` will be dropped later as of Edition 2024
[INFO] [stdout] 501 |
[INFO] [stdout] 502 |     let b = new_block(
[INFO] [stdout]     |         -
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `b` calls a custom destructor
[INFO] [stdout]     |         `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 514 |     let tx1 = build::transaction(
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 525 |     let previous_header = BlockHeader::default();
[INFO] [stdout]     |         ---------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 526 |     let b = new_block(
[INFO] [stdout]     |         -
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 535 |     match b.validate(&BlindingFactor::zero()) {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 541 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/key.rs:31:10
[INFO] [stdout]     |
[INFO] [stdout]  31 | #[derive(Zeroize)]
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl Drop for Secp256k1 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `builder` invokes this custom destructor
[INFO] [stdout]    --> core/src/libtx/proof.rs:246:1
[INFO] [stdout]     |
[INFO] [stdout] 246 | / impl<'a, K> Drop for ProofBuilder<'a, K>
[INFO] [stdout] 247 | | where
[INFO] [stdout] 248 | |     K: Keychain,
[INFO] [stdout]     | |________________^
[INFO] [stdout] note: `tx1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `previous_header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating store/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed store/src/lmdb.rs (1 fix)
[INFO] [stderr]        Fixed store/src/types.rs (7 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> store/src/leaf_set.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |           let mut bitmap = self.bitmap.clone();
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `bitmap` calls a custom destructor
[INFO] [stdout]     |               `bitmap` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 | /         bitmap
[INFO] [stdout] 127 | |             .flip(1..(cutoff_pos + 1) as u32)
[INFO] [stdout]     | |                                             -
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |_____________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 128 |               .and(&self.unpruned_pre_cutoff(cutoff_pos, prune_list))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 129 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bitmap` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> store/src/types.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 495 |             while let Ok(elmt) = T::read(&mut streaming_reader) {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |       |
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `elmt` calls a custom destructor
[INFO] [stdout]     |                          `elmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating core/tests/transaction.rs from 2021 edition to 2024
[INFO] [stderr]     Checking epic_chain v4.0.0 (/opt/rustwide/workdir/chain)
[INFO] [stderr]     Checking epic_pool v4.0.0 (/opt/rustwide/workdir/pool)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> store/src/leaf_set.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |           let mut bitmap = self.bitmap.clone();
[INFO] [stdout]     |               ----------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `bitmap` calls a custom destructor
[INFO] [stdout]     |               `bitmap` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 | /         bitmap
[INFO] [stdout] 127 | |             .flip(1..(cutoff_pos + 1) as u32)
[INFO] [stdout]     | |                                             -
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |_____________________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 128 |               .and(&self.unpruned_pre_cutoff(cutoff_pos, prune_list))
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 129 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bitmap` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> store/src/types.rs:495:25
[INFO] [stdout]     |
[INFO] [stdout] 495 |             while let Ok(elmt) = T::read(&mut streaming_reader) {
[INFO] [stdout]     |                          ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                          |       |
[INFO] [stdout]     |                          |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                          |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                          `elmt` calls a custom destructor
[INFO] [stdout]     |                          `elmt` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 505 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating core/tests/vec_backend.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating store/tests/pmmr.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating store/tests/lmdb.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed chain/src/store.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> chain/src/store.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 516 |                     let mut prev_header = None;
[INFO] [stdout]     |                         ---------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `prev_header` calls a custom destructor
[INFO] [stdout]     |                         `prev_header` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     match prev_header.clone() { Some(prev) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 554 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev_header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating store/tests/utxo_set_perf.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> chain/src/store.rs:767:12
[INFO] [stdout]     |
[INFO] [stdout] 757 |                     let mut prev_header = None;
[INFO] [stdout]     |                         ---------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `prev_header` calls a custom destructor
[INFO] [stdout]     |                         `prev_header` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 767 |                     match prev_header.clone() { Some(prev) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 781 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev_header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating store/tests/test_bitmap.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> pool/src/pool.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 365 |                     match bucket.aggregate_with_tx(entry.tx.clone(), weighting) { Ok(new_bucket) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      ----------
[INFO] [stdout]     |                           |                                                          |
[INFO] [stdout]     |                           |                                                          `new_bucket` calls a custom destructor
[INFO] [stdout]     |                           |                                                          `new_bucket` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 379 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `new_bucket` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed pool/src/pool.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> chain/src/store.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 516 |                     let mut prev_header = None;
[INFO] [stdout]     |                         ---------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `prev_header` calls a custom destructor
[INFO] [stdout]     |                         `prev_header` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     match prev_header.clone() { Some(prev) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 554 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev_header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> chain/src/store.rs:767:12
[INFO] [stdout]     |
[INFO] [stdout] 757 |                     let mut prev_header = None;
[INFO] [stdout]     |                         ---------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `prev_header` calls a custom destructor
[INFO] [stdout]     |                         `prev_header` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 767 |                     match prev_header.clone() { Some(prev) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 781 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `prev_header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_p2p v4.0.0 (/opt/rustwide/workdir/p2p)
[INFO] [stderr]    Migrating store/tests/prune_list.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating p2p/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed p2p/src/peers.rs (1 fix)
[INFO] [stderr]    Migrating pool/tests/transaction_pool.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed p2p/src/protocol.rs (1 fix)
[INFO] [stderr]        Fixed p2p/src/conn.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> p2p/src/tor/process.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut tor = Command::new(tor_exe_path);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tor` calls a custom destructor
[INFO] [stdout]     |             `tor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |         let (stdout_tx, stdout_rx) = channel();
[INFO] [stdout]     |                         ---------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `stdout_rx` calls a custom destructor
[INFO] [stdout]     |                         `stdout_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 219 |         let timer = timer::Timer::new();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `timer` calls a custom destructor
[INFO] [stdout]     |             `timer` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |         let _guard =
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_guard` calls a custom destructor
[INFO] [stdout]     |             `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |         match stdout_rx.recv().unwrap() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tor` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `tor` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `tor` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `stdout_rx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `timer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timer-0.2.0/src/lib.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | / impl <T> Drop for TimerBase<T>
[INFO] [stdout] 240 | |     where T : 'static + Send {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timer-0.2.0/src/lib.rs:718:1
[INFO] [stdout]     |
[INFO] [stdout] 718 | impl Drop for Guard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_api v4.0.0 (/opt/rustwide/workdir/api)
[INFO] [stderr]    Migrating pool/tests/block_max_weight.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/tests/common.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/tests/block_building.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/mine_simple_chain.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/test_coinbase_maturity.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/bitmap_accumulator.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/test_txhashset.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> pool/src/pool.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 365 |                     match bucket.aggregate_with_tx(entry.tx.clone(), weighting) { Ok(new_bucket) => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      ----------
[INFO] [stdout]     |                           |                                                          |
[INFO] [stdout]     |                           |                                                          `new_bucket` calls a custom destructor
[INFO] [stdout]     |                           |                                                          `new_bucket` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 379 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `new_bucket` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating chain/tests/data_file_integrity.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/chain_test_helper.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/test_txhashset_archive.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/tests/block_reconciliation.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating pool/tests/coinbase_maturity.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating chain/tests/store_indices.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> pool/tests/coinbase_maturity.rs:79:66
[INFO] [stdout]      |
[INFO] [stdout]   69 |     let keychain: ExtKeychain = Keychain::from_random_seed(false).unwrap();
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `keychain` calls a custom destructor
[INFO] [stdout]      |         `keychain` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   74 |     let pool = RwLock::new(test_setup(chain));
[INFO] [stdout]      |         ----
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `pool` calls a custom destructor
[INFO] [stdout]      |         `pool` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   77 |         let mut write_pool = pool.write();
[INFO] [stdout]      |             --------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `write_pool` calls a custom destructor
[INFO] [stdout]      |             `write_pool` will be dropped later as of Edition 2024
[INFO] [stdout]   78 |         let tx = test_transaction(&keychain, vec![50], vec![49]);
[INFO] [stdout]      |             --
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `tx` calls a custom destructor
[INFO] [stdout]      |             `tx` will be dropped later as of Edition 2024
[INFO] [stdout]   79 |         match write_pool.add_to_pool(test_source(), tx.clone(), true, &BlockHeader::default()) {
[INFO] [stdout]      |                                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   84 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> keychain/src/types.rs:213:61
[INFO] [stdout]      |
[INFO] [stdout]  213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]      |                                                             ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/key.rs:31:10
[INFO] [stdout]      |
[INFO] [stdout]   31 | #[derive(Zeroize)]
[INFO] [stdout]      |          ^^^^^^^
[INFO] [stdout] note: `keychain` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/git/checkouts/rust-secp256k1-zkp-a579ae94bd3f266d/e5ee752/src/lib.rs:566:1
[INFO] [stdout]      |
[INFO] [stdout]  566 | impl Drop for Secp256k1 {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `pool` invokes this custom destructor
[INFO] [stdout]     --> keychain/src/types.rs:213:61
[INFO] [stdout]      |
[INFO] [stdout]  213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]      |                                                             ^^^^^^^
[INFO] [stdout] note: `write_pool` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/rwlock.rs:1003:1
[INFO] [stdout]      |
[INFO] [stdout] 1003 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockWriteGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> keychain/src/types.rs:213:61
[INFO] [stdout]      |
[INFO] [stdout]  213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]      |                                                             ^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating api/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed api/src/router.rs (2 fixes)
[INFO] [stderr]    Migrating p2p/tests/ser_deser.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed api/src/handlers/server_api.rs (1 fix)
[INFO] [stderr]        Fixed api/src/web.rs (9 fixes)
[INFO] [stderr]        Fixed api/src/foreign_rpc.rs (2 fixes)
[INFO] [stderr]        Fixed api/src/owner_rpc.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> api/src/router.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let mut handlers = vec![];
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `handlers` calls a custom destructor
[INFO] [stdout]     |             `handlers` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 203 |         match self.node(node_id).value() { Some(h) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 209 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `handlers` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> api/src/handlers/pool_api.rs:53:18
[INFO] [stdout]     |
[INFO] [stdout]  49 |           let pool_arc = w_fut!(&self.tx_pool);
[INFO] [stdout]     |               --------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `pool_arc` calls a custom destructor
[INFO] [stdout]     |               `pool_arc` will be dropped later as of Edition 2024
[INFO] [stdout]  50 |           let pool = pool_arc.read();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `pool` calls a custom destructor
[INFO] [stdout]     |               `pool` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |           json_response(&PoolInfo {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout]  54 | |             pool_size: pool.total_size(),
[INFO] [stdout]  55 | |             txs,
[INFO] [stdout]  56 | |         })
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  57 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `pool_arc` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `pool` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/rwlock.rs:815:1
[INFO] [stdout]     |
[INFO] [stdout] 815 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_servers v4.0.0 (/opt/rustwide/workdir/servers)
[INFO] [stderr]    Migrating p2p/tests/peer_handshake.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating servers/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> p2p/src/tor/process.rs:229:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut tor = Command::new(tor_exe_path);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `tor` calls a custom destructor
[INFO] [stdout]     |             `tor` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |         let (stdout_tx, stdout_rx) = channel();
[INFO] [stdout]     |                         ---------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `stdout_rx` calls a custom destructor
[INFO] [stdout]     |                         `stdout_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 219 |         let timer = timer::Timer::new();
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `timer` calls a custom destructor
[INFO] [stdout]     |             `timer` will be dropped later as of Edition 2024
[INFO] [stdout] 220 |         let _guard =
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `_guard` calls a custom destructor
[INFO] [stdout]     |             `_guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 229 |         match stdout_rx.recv().unwrap() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 241 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `tor` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `tor` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `tor` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `stdout_rx` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `timer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timer-0.2.0/src/lib.rs:239:1
[INFO] [stdout]     |
[INFO] [stdout] 239 | / impl <T> Drop for TimerBase<T>
[INFO] [stdout] 240 | |     where T : 'static + Send {
[INFO] [stdout]     | |____________________________^
[INFO] [stdout] note: `_guard` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/timer-0.2.0/src/lib.rs:718:1
[INFO] [stdout]     |
[INFO] [stdout] 718 | impl Drop for Guard {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 let (txs, missing_short_ids) = {
[INFO] [stdout]     |  ______________________________________________-
[INFO] [stdout] 255 | | /                 self.tx_pool
[INFO] [stdout] 256 | | |                     .read()
[INFO] [stdout]     | | |                           ^
[INFO] [stdout]     | | |                           |
[INFO] [stdout]     | | |___________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 257 | |                       .retrieve_transactions(cb.hash(), cb.nonce, cb.kern_ids())
[INFO] [stdout] 258 | |               };
[INFO] [stdout]     | |               -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/rwlock.rs:815:1
[INFO] [stdout]     |
[INFO] [stdout] 815 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed servers/src/common/adapters.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:287:10
[INFO] [stdout]     |
[INFO] [stdout] 272 |             let block = match core::Block::hydrate_from(cb.clone(), txs) {
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `block` calls a custom destructor
[INFO] [stdout]     |                 `block` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |             match self.chain().get_previous_header(&cb.header) { Ok(prev) => {
[INFO] [stdout]     |                   ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `block` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed servers/src/epic/server.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:662:36
[INFO] [stdout]     |
[INFO] [stdout] 660 |             if let Ok(header) = self.chain().get_block_header(&hash) {
[INFO] [stdout]     |                       ------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 661 |                 if let Ok(hash_at_height) = header_pmmr.get_header_hash_by_height(header.height) {
[INFO] [stdout] 662 |                     if let Ok(header_at_height) = self.chain().get_block_header(&hash_at_height) {
[INFO] [stdout]     |                               ----------------    ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |                   |
[INFO] [stdout]     |                               |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `header_at_height` calls a custom destructor
[INFO] [stdout]     |                               `header_at_height` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 667 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_at_height` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed servers/src/epic/sync/syncer.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |             if let Ok(header) = self.chain().get_block_header(&hash) {
[INFO] [stdout]     |                       ------    ------------^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |         |
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 661 |                 if let Ok(hash_at_height) = header_pmmr.get_header_hash_by_height(header.height) {
[INFO] [stdout] 662 |                     if let Ok(header_at_height) = self.chain().get_block_header(&hash_at_height) {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `header_at_height` calls a custom destructor
[INFO] [stdout]     |                               `header_at_height` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 669 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_at_height` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:737:9
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let previous = self.chain().get_previous_header(&b.header);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `previous` calls a custom destructor
[INFO] [stdout]     |             `previous` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 737 |         match self.chain().process_block(b, options) {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 771 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `previous` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/seed.rs:96:28
[INFO] [stdout]     |
[INFO] [stdout]  96 |                             if let Some(conn) = peers.get_connected_peer(peer.addr) {
[INFO] [stdout]     |                                         ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |       |
[INFO] [stdout]     |                                         |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `conn` calls a custom destructor
[INFO] [stdout]     |                                         `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `conn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/body_sync.rs:178:24
[INFO] [stdout]     |
[INFO] [stdout] 178 |             if let Ok(header) = self.chain.get_block_header(hash) {
[INFO] [stdout]     |                       ------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |         |
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 179 |                 // Check if the parent block exists
[INFO] [stdout] 180 |                 if self.chain.get_block(&header.prev_hash).is_ok() {
[INFO] [stdout]     |                    ---------------------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:337:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |           let mut header_syncs: HashMap<String, std::sync::mpsc::Sender<bool>> = HashMap::new();
[INFO] [stdout]     |               ----------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `header_syncs` calls a custom destructor
[INFO] [stdout]     |               `header_syncs` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                   for peer in self.peers.clone().outgoing_connected_peers() {
[INFO] [stdout]     |                       ----    ---------------------------------------------
[INFO] [stdout]     |                       |       |
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |       `iter` calls a custom destructor
[INFO] [stdout]     |                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `peer` calls a custom destructor
[INFO] [stdout]     |                       `peer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |                                   let (sender, receiver) = channel();
[INFO] [stdout]     |                                        ------              ---------
[INFO] [stdout]     |                                        |                   |
[INFO] [stdout]     |                                        |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        `sender` calls a custom destructor
[INFO] [stdout]     |                                        `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |                                   let feedback = handler.join().unwrap();
[INFO] [stdout]     |                                       --------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `feedback` calls a custom destructor
[INFO] [stdout]     |                                       `feedback` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                         --------------------------------      --------------------
[INFO] [stdout]     |                                         |                                     |
[INFO] [stdout]     |                                         |                                     `fastsync_headers` calls a custom destructor
[INFO] [stdout]     |                                         |                                     `fastsync_headers` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                                       match fastsync_headers
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 338 | |                                         .insert(feedback.headers[0].height, feedback)
[INFO] [stdout]     | |                                                                                     ^
[INFO] [stdout]     | |                                                                                     |
[INFO] [stdout]     | |_____________________________________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                                                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                       {
[INFO] [stdout] 340 |                                           Some(_s) => {
[INFO] [stdout]     |                                                --
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `_s` calls a custom destructor
[INFO] [stdout]     |                                                `_s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |                                   } _ => {
[INFO] [stdout]     |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 350 |                                   header_syncs.insert(peer_addr.clone(), sender);
[INFO] [stdout]     |                                   ----------------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                               header_syncs.remove(&peer_addr);
[INFO] [stdout]     |                               -------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 365 |                   match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                                               --------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                       let mut sorted: Vec<_> =
[INFO] [stdout]     |                           ----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `sorted` calls a custom destructor
[INFO] [stdout]     |                           `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 422 |                               fastsync_headers.remove(&lowest_height);
[INFO] [stdout]     |                               ---------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 551 |                           for header_sync in header_syncs.clone() {
[INFO] [stdout]     |                               -----------    --------------------
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               |              `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               `header_sync` calls a custom destructor
[INFO] [stdout]     |                               `header_sync` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_syncs` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `peer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `feedback` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `fastsync_headers` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `_s` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `header_sync` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:400:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     let mut sorted: Vec<_> =
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `sorted` calls a custom destructor
[INFO] [stdout]     |                         `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 400 |                         .headers_received(&headers.clone(), &peer_info.clone())
[INFO] [stdout]     |                                            ---------------   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |                 |
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |                 } _ => {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:365:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut header_syncs: HashMap<String, std::sync::mpsc::Sender<bool>> = HashMap::new();
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `header_syncs` calls a custom destructor
[INFO] [stdout]     |             `header_syncs` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                 for peer in self.peers.clone().outgoing_connected_peers() {
[INFO] [stdout]     |                     ----    ---------------------------------------------
[INFO] [stdout]     |                     |       |
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |       `iter` calls a custom destructor
[INFO] [stdout]     |                     |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `peer` calls a custom destructor
[INFO] [stdout]     |                     `peer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |                                 let (sender, receiver) = channel();
[INFO] [stdout]     |                                      ------              ---------
[INFO] [stdout]     |                                      |                   |
[INFO] [stdout]     |                                      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      `sender` calls a custom destructor
[INFO] [stdout]     |                                      `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |                                 let feedback = handler.join().unwrap();
[INFO] [stdout]     |                                     --------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `feedback` calls a custom destructor
[INFO] [stdout]     |                                     `feedback` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                 match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                       --------------------------------      --------------------
[INFO] [stdout]     |                                       |                                     |
[INFO] [stdout]     |                                       |                                     `fastsync_headers` calls a custom destructor
[INFO] [stdout]     |                                       |                                     `fastsync_headers` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 340 |                                         Some(_s) => {
[INFO] [stdout]     |                                              --
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `_s` calls a custom destructor
[INFO] [stdout]     |                                              `_s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |                                 header_syncs.insert(peer_addr.clone(), sender);
[INFO] [stdout]     |                                 ----------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                             header_syncs.remove(&peer_addr);
[INFO] [stdout]     |                             -------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 365 |                 match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      --------------------
[INFO] [stdout]     |                       |                                     |
[INFO] [stdout]     |                       |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                     let mut sorted: Vec<_> =
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `sorted` calls a custom destructor
[INFO] [stdout]     |                         `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 422 |                             fastsync_headers.remove(&lowest_height);
[INFO] [stdout]     |                             ---------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 551 |                         for header_sync in header_syncs.clone() {
[INFO] [stdout]     |                             -----------    --------------------
[INFO] [stdout]     |                             |              |
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             |              `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `header_sync` calls a custom destructor
[INFO] [stdout]     |                             `header_sync` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `header_syncs` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `peer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `feedback` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `fastsync_headers` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `_s` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `header_sync` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_config v4.0.0 (/opt/rustwide/workdir/config)
[INFO] [stderr]    Migrating config/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 let (txs, missing_short_ids) = {
[INFO] [stdout]     |  ______________________________________________-
[INFO] [stdout] 255 | | /                 self.tx_pool
[INFO] [stdout] 256 | | |                     .read()
[INFO] [stdout]     | | |                           ^
[INFO] [stdout]     | | |                           |
[INFO] [stdout]     | | |___________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 257 | |                       .retrieve_transactions(cb.hash(), cb.nonce, cb.kern_ids())
[INFO] [stdout] 258 | |               };
[INFO] [stdout]     | |               -- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |               |
[INFO] [stdout]     | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/rwlock.rs:815:1
[INFO] [stdout]     |
[INFO] [stdout] 815 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:287:10
[INFO] [stdout]     |
[INFO] [stdout] 272 |             let block = match core::Block::hydrate_from(cb.clone(), txs) {
[INFO] [stdout]     |                 -----
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `block` calls a custom destructor
[INFO] [stdout]     |                 `block` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 287 |             match self.chain().get_previous_header(&cb.header) { Ok(prev) => {
[INFO] [stdout]     |                   ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 305 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `block` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:662:36
[INFO] [stdout]     |
[INFO] [stdout] 660 |             if let Ok(header) = self.chain().get_block_header(&hash) {
[INFO] [stdout]     |                       ------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 661 |                 if let Ok(hash_at_height) = header_pmmr.get_header_hash_by_height(header.height) {
[INFO] [stdout] 662 |                     if let Ok(header_at_height) = self.chain().get_block_header(&hash_at_height) {
[INFO] [stdout]     |                               ----------------    ------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |                   |
[INFO] [stdout]     |                               |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                               |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `header_at_height` calls a custom destructor
[INFO] [stdout]     |                               `header_at_height` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 667 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_at_height` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:660:24
[INFO] [stdout]     |
[INFO] [stdout] 660 |             if let Ok(header) = self.chain().get_block_header(&hash) {
[INFO] [stdout]     |                       ------    ------------^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |         |
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 661 |                 if let Ok(hash_at_height) = header_pmmr.get_header_hash_by_height(header.height) {
[INFO] [stdout] 662 |                     if let Ok(header_at_height) = self.chain().get_block_header(&hash_at_height) {
[INFO] [stdout]     |                               ----------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               `header_at_height` calls a custom destructor
[INFO] [stdout]     |                               `header_at_height` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 669 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_at_height` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/common/adapters.rs:737:9
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let previous = self.chain().get_previous_header(&b.header);
[INFO] [stdout]     |             --------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `previous` calls a custom destructor
[INFO] [stdout]     |             `previous` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 737 |         match self.chain().process_block(b, options) {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 771 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/croaring-2.4.0/src/bitmap/ops.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl Drop for Bitmap {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/memmap-0.7.0/src/unix.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for MmapInner {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `previous` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/seed.rs:96:28
[INFO] [stdout]     |
[INFO] [stdout]  96 |                             if let Some(conn) = peers.get_connected_peer(peer.addr) {
[INFO] [stdout]     |                                         ----    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |       |
[INFO] [stdout]     |                                         |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                         `conn` calls a custom destructor
[INFO] [stdout]     |                                         `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  99 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `conn` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/body_sync.rs:178:24
[INFO] [stdout]     |
[INFO] [stdout] 178 |             if let Ok(header) = self.chain.get_block_header(hash) {
[INFO] [stdout]     |                       ------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |         |
[INFO] [stdout]     |                       |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `header` calls a custom destructor
[INFO] [stdout]     |                       `header` will be dropped later as of Edition 2024
[INFO] [stdout] 179 |                 // Check if the parent block exists
[INFO] [stdout] 180 |                 if self.chain.get_block(&header.prev_hash).is_ok() {
[INFO] [stdout]     |                    ---------------------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 184 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:337:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |           let mut header_syncs: HashMap<String, std::sync::mpsc::Sender<bool>> = HashMap::new();
[INFO] [stdout]     |               ----------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `header_syncs` calls a custom destructor
[INFO] [stdout]     |               `header_syncs` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                   for peer in self.peers.clone().outgoing_connected_peers() {
[INFO] [stdout]     |                       ----    ---------------------------------------------
[INFO] [stdout]     |                       |       |
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |       `iter` calls a custom destructor
[INFO] [stdout]     |                       |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       `peer` calls a custom destructor
[INFO] [stdout]     |                       `peer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |                                   let (sender, receiver) = channel();
[INFO] [stdout]     |                                        ------              ---------
[INFO] [stdout]     |                                        |                   |
[INFO] [stdout]     |                                        |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                        |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        `sender` calls a custom destructor
[INFO] [stdout]     |                                        `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |                                   let feedback = handler.join().unwrap();
[INFO] [stdout]     |                                       --------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       `feedback` calls a custom destructor
[INFO] [stdout]     |                                       `feedback` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                   match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                         --------------------------------      --------------------
[INFO] [stdout]     |                                         |                                     |
[INFO] [stdout]     |                                         |                                     `fastsync_headers` calls a custom destructor
[INFO] [stdout]     |                                         |                                     `fastsync_headers` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 337 |                                       match fastsync_headers
[INFO] [stdout]     |  ___________________________________________^
[INFO] [stdout] 338 | |                                         .insert(feedback.headers[0].height, feedback)
[INFO] [stdout]     | |                                                                                     ^
[INFO] [stdout]     | |                                                                                     |
[INFO] [stdout]     | |_____________________________________________________________________________________this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                                                                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 339 |                                       {
[INFO] [stdout] 340 |                                           Some(_s) => {
[INFO] [stdout]     |                                                --
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `_s` calls a custom destructor
[INFO] [stdout]     |                                                `_s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 345 |                                   } _ => {
[INFO] [stdout]     |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 350 |                                   header_syncs.insert(peer_addr.clone(), sender);
[INFO] [stdout]     |                                   ----------------------------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                   `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                               header_syncs.remove(&peer_addr);
[INFO] [stdout]     |                               -------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 365 |                   match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                                               --------------------
[INFO] [stdout]     |                                                               |
[INFO] [stdout]     |                                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                       let mut sorted: Vec<_> =
[INFO] [stdout]     |                           ----------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           `sorted` calls a custom destructor
[INFO] [stdout]     |                           `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 422 |                               fastsync_headers.remove(&lowest_height);
[INFO] [stdout]     |                               ---------------------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 551 |                           for header_sync in header_syncs.clone() {
[INFO] [stdout]     |                               -----------    --------------------
[INFO] [stdout]     |                               |              |
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               |              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                               |              `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               `header_sync` calls a custom destructor
[INFO] [stdout]     |                               `header_sync` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `header_syncs` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `peer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `feedback` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `fastsync_headers` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `_s` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `header_sync` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:400:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |                     let mut sorted: Vec<_> =
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `sorted` calls a custom destructor
[INFO] [stdout]     |                         `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 400 |                         .headers_received(&headers.clone(), &peer_info.clone())
[INFO] [stdout]     |                                            ---------------   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                            |                 |
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 437 |                 } _ => {
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> servers/src/epic/sync/syncer.rs:365:11
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut header_syncs: HashMap<String, std::sync::mpsc::Sender<bool>> = HashMap::new();
[INFO] [stdout]     |             ----------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `header_syncs` calls a custom destructor
[INFO] [stdout]     |             `header_syncs` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |                 for peer in self.peers.clone().outgoing_connected_peers() {
[INFO] [stdout]     |                     ----    ---------------------------------------------
[INFO] [stdout]     |                     |       |
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |       `iter` calls a custom destructor
[INFO] [stdout]     |                     |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     |       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                     `peer` calls a custom destructor
[INFO] [stdout]     |                     `peer` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 275 |                                 let (sender, receiver) = channel();
[INFO] [stdout]     |                                      ------              ---------
[INFO] [stdout]     |                                      |                   |
[INFO] [stdout]     |                                      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                      |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      `sender` calls a custom destructor
[INFO] [stdout]     |                                      `sender` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 330 |                                 let feedback = handler.join().unwrap();
[INFO] [stdout]     |                                     --------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     `feedback` calls a custom destructor
[INFO] [stdout]     |                                     `feedback` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |                                 match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                                       --------------------------------      --------------------
[INFO] [stdout]     |                                       |                                     |
[INFO] [stdout]     |                                       |                                     `fastsync_headers` calls a custom destructor
[INFO] [stdout]     |                                       |                                     `fastsync_headers` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 340 |                                         Some(_s) => {
[INFO] [stdout]     |                                              --
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              `_s` calls a custom destructor
[INFO] [stdout]     |                                              `_s` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |                                 header_syncs.insert(peer_addr.clone(), sender);
[INFO] [stdout]     |                                 ----------------------------------------------
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 355 |                             header_syncs.remove(&peer_addr);
[INFO] [stdout]     |                             -------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 365 |                 match fastsync_header_queue.try_lock() { Ok(mut fastsync_headers) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^      --------------------
[INFO] [stdout]     |                       |                                     |
[INFO] [stdout]     |                       |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                       |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |                     let mut sorted: Vec<_> =
[INFO] [stdout]     |                         ----------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `sorted` calls a custom destructor
[INFO] [stdout]     |                         `sorted` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 422 |                             fastsync_headers.remove(&lowest_height);
[INFO] [stdout]     |                             ---------------------------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 440 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 551 |                         for header_sync in header_syncs.clone() {
[INFO] [stdout]     |                             -----------    --------------------
[INFO] [stdout]     |                             |              |
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                             |              `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             |              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                             |              `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                             `header_sync` calls a custom destructor
[INFO] [stdout]     |                             `header_sync` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `header_syncs` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/dbi.rs:263:1
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl<'a> Drop for DbHandle<'a> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lmdb-zero-0.4.4/src/env.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | impl Drop for EnvHandle {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `iter` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/linked-hash-map-0.5.6/src/lib.rs:924:1
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl<K, V, S> Drop for LinkedHashMap<K, V, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `peer` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `peer` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `feedback` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `fastsync_headers` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `_s` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `sorted` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `header_sync` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating api/tests/rest.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating api/tests/commitment_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating api/tests/blocktemplate_tests.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> api/src/router.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let mut handlers = vec![];
[INFO] [stdout]     |             ------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `handlers` calls a custom destructor
[INFO] [stdout]     |             `handlers` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 203 |         match self.node(node_id).value() { Some(h) => {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 209 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `handlers` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> api/src/handlers/pool_api.rs:53:18
[INFO] [stdout]     |
[INFO] [stdout]  49 |           let pool_arc = w_fut!(&self.tx_pool);
[INFO] [stdout]     |               --------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `pool_arc` calls a custom destructor
[INFO] [stdout]     |               `pool_arc` will be dropped later as of Edition 2024
[INFO] [stdout]  50 |           let pool = pool_arc.read();
[INFO] [stdout]     |               ----
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `pool` calls a custom destructor
[INFO] [stdout]     |               `pool` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  53 |           json_response(&PoolInfo {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout]  54 | |             pool_size: pool.total_size(),
[INFO] [stdout]  55 | |             txs,
[INFO] [stdout]  56 | |         })
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  57 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `pool_arc` invokes this custom destructor
[INFO] [stdout]    --> keychain/src/types.rs:213:61
[INFO] [stdout]     |
[INFO] [stdout] 213 | #[derive(Default, Clone, PartialEq, Serialize, Deserialize, Zeroize)]
[INFO] [stdout]     |                                                             ^^^^^^^
[INFO] [stdout] note: `pool` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.1.5/src/rwlock.rs:815:1
[INFO] [stdout]     |
[INFO] [stdout] 815 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/epic.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 26s
[INFO] [stderr] crater-edition-check: epic_api v4.0.0 (/opt/rustwide/workdir/api) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_chain v4.0.0 (/opt/rustwide/workdir/chain) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_core v4.0.0 (/opt/rustwide/workdir/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_keychain v4.0.0 (/opt/rustwide/workdir/keychain) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_util v4.0.0 (/opt/rustwide/workdir/util) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_store v4.0.0 (/opt/rustwide/workdir/store) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_p2p v4.0.0 (/opt/rustwide/workdir/p2p) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_pool v4.0.0 (/opt/rustwide/workdir/pool) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_servers v4.0.0 (/opt/rustwide/workdir/servers) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic_config v4.0.0 (/opt/rustwide/workdir/config) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: epic v4.0.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking epic_util v4.0.0 (/opt/rustwide/workdir/util)
[INFO] [stderr]    Compiling epic v4.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking epic_keychain v4.0.0 (/opt/rustwide/workdir/keychain)
[INFO] [stderr] warning: epic@4.0.0: build.rs started
[INFO] [stderr] warning: epic@4.0.0: Tor download skipped (feature 'with-tor' not enabled).
[INFO] [stderr] warning: epic@4.0.0: Enable Tor download with: --features with-tor
[INFO] [stderr]     Checking epic_core v4.0.0 (/opt/rustwide/workdir/core)
[INFO] [stderr]     Checking epic_store v4.0.0 (/opt/rustwide/workdir/store)
[INFO] [stdout] warning: struct `TestElem` is never constructed
[INFO] [stdout]    --> core/tests/common.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct TestElem(pub [u32; 4]);
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_chain v4.0.0 (/opt/rustwide/workdir/chain)
[INFO] [stderr]     Checking epic_pool v4.0.0 (/opt/rustwide/workdir/pool)
[INFO] [stderr]     Checking epic_p2p v4.0.0 (/opt/rustwide/workdir/p2p)
[INFO] [stdout] warning: use of deprecated struct `rand::rngs::mock::StepRng`: Deprecated without replacement
[INFO] [stdout]    --> p2p/src/tor/config.rs:286:24
[INFO] [stdout]     |
[INFO] [stdout] 286 |     use rand::rngs::mock::StepRng;
[INFO] [stdout]     |                           ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `rand::rngs::mock::StepRng`: Deprecated without replacement
[INFO] [stdout]    --> p2p/src/tor/config.rs:303:22
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `rand::rngs::mock::StepRng`: Deprecated without replacement
[INFO] [stdout]    --> p2p/src/tor/config.rs:320:22
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `rand::rngs::mock::StepRng`: Deprecated without replacement
[INFO] [stdout]    --> p2p/src/tor/config.rs:339:22
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `rand::rngs::mock::StepRng::new`
[INFO] [stdout]    --> p2p/src/tor/config.rs:303:31
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `rand::rngs::mock::StepRng::new`
[INFO] [stdout]    --> p2p/src/tor/config.rs:320:31
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `rand::rngs::mock::StepRng::new`
[INFO] [stdout]    --> p2p/src/tor/config.rs:339:31
[INFO] [stdout]     |
[INFO] [stdout] 339 |         let mut test_rng = StepRng::new(1234567890u64, 1);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_api v4.0.0 (/opt/rustwide/workdir/api)
[INFO] [stdout] warning: struct `TxWrapper` is never constructed
[INFO] [stdout]    --> api/src/handlers/pool_api.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct TxWrapper {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking epic_servers v4.0.0 (/opt/rustwide/workdir/servers)
[INFO] [stderr]     Checking epic_config v4.0.0 (/opt/rustwide/workdir/config)
[INFO] [stdout] warning: struct `TxWrapper` is never constructed
[INFO] [stdout]    --> api/src/handlers/pool_api.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct TxWrapper {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 42s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7", kill_on_drop: false }`
[INFO] [stdout] a6c5f1b074a7a0d0b2487cc6f794ccef705c9646fdb640ba1caaa581885a05c7
